﻿# -*- coding: utf-8 -*-​
import sys
import coilgun
#数据输入
# 线径
a = 0.5
e = 0.85
j = 0.95

# 外径
b = 30
f = 28
k = 27

# 第一级脉宽
c = 7.5
d = 0.0

# 第二段
g = 0.95
h = 7
i =2.05

# 第三段
m = 52
l = 0.7

# 弹长
n = 20

perset = {
    'Secondary_parameters': {
        '受力系数': [1], '母线线径':100, '层间交错系数': 1, '受力系数(负反馈系数)': [1],
        '子弹密度(g/cm3)': 7.85, '电容重量储能密度(j/g)': 1,
        '时序文件输出地址': 'C:\\work_sapce\\stm32_workspace\\dcp_tm32\\Core\\Inc',
        '初始微元步进切分': '[[0.001]*10 ,[0.01]*10,[0.1]*80]',
        '默认后续微元步进': 1, '参数扫描进程数': 12, 'wps地址': 'wpsoffice.exe',
        '钢珠切分数量': 100, '层间交错系数': 1, '线圈厚度修正系数': [1],
        '线圈电阻修正系数': [1], '线圈电感值修正系数': [1],


    },



    'coil_layout': [
        {
            '模式选择': 1.0, '漆包线材料(CuorAl)': 0.0, '漆包线线径(mm)': a,
            '漆层厚度(um)': 30.0, '线圈长度(mm)': 10.2, '匝径start': b,
            '匝数幂衰减系数': 1, '线圈数量': 1.0, '最大脉宽(pw)': c,
            '脉宽幂递增系数': 1.0, '关断策略偏移(mm)': d
        },
        {
            '模式选择': 1.0, '漆包线材料(CuorAl)': 0.0, '漆包线线径(mm)': e,
            '漆层厚度(um)': 30.0, '线圈长度(mm)': 10.2, '匝径start': f,
            '匝数幂衰减系数': g, '线圈数量': h, '最大脉宽(pw)': str({"起始脉宽": c, "最大脉宽": -2}),
            '脉宽幂递增系数': i, '关断策略偏移(mm)': 0.0
        },
        {
            '模式选择': 1.0, '漆包线材料(CuorAl)': 0.0, '漆包线线径(mm)': j,
            '漆层厚度(um)': 30.0, '线圈长度(mm)': 10.2, '匝径start': k,
            '匝数幂衰减系数': l, '线圈数量': m, '最大脉宽(pw)': 22.0,
            '脉宽幂递增系数': 1.0, '关断策略偏移(mm)': 0.0
        }
    ],
    'L_coil1': 0.8, 'Inner_diameter': 12.7, 'R_pow': 10.0, 'U0': 500,
    'C': 20000, 'slug_R': 12.0, 'slug_length': n, 'm': 0, 'v0': 0.0,
    'saturationB_T': 2.0, '阵列规模输入': '', 'topology': '半桥',

}
#输出
print(f"母线线径：{perset['Secondary_parameters']['母线线径']}")
print(  coilgun.coilgunApi(perset) )

